define add proc(x,x)
	return := x + x
end;

define mult proc(x,x)
	return := x * x
end;

define makedouble proc(f)
   return := proc(x) return := f(x,x) end
end;

define twice proc(x)
   return := makedouble(add)(x)
end;

define square proc(x)
   return := makedouble(mult)(x)
end;

t := twice(10);
h := square(10)
